import json
from openai import OpenAI

# 设置OpenAI API客户端
client = OpenAI(
    base_url="https://api.gptsapi.net/v1",
    api_key="sk-kghaf948e5e3bc901fdb866fa5f1ffe18d19d9961a8N5pAg"
)

# 从文件加载数据
with open('extracted_data.json', 'r', encoding='utf-8') as file:
    legal_cases = json.load(file)

# 定义调用GPT-4 API进行判决预测的函数
def predict_judgment(case_text):
    try:
        response = client.chat.completions.create(
            model="gpt-4o",
            messages=[
                {"role": "system", "content": "你是一名法官，任务是根据案件事实进行判决预测。"},
                {"role": "user", "content": f"以下是案件的详细事实，请根据这些信息进行判决预测。\n\n"
                                            f"案件事实：\n{case_text}\n\n"
                                            "请按照以下格式进行判决预测：\n"
                                            "1. 案件概述：<对案件的简要描述>\n"
                                            "2. 法律依据：<列出可能适用的法律条款>(若相关条款并入民法典，则使用民法典中条款)\n"
                                            "3. 判决结果：<对案件的判决，包括判决理由和判决条款的适用>\n"
                                            "4. 附加说明：<任何其他相关的说明或解释>\n"},
                {"role": "assistant", "content": "首先，我们将分析案件的详细事实。然后，我们会引用可能适用的法律条款，并基于这些条款和案件事实给出判决结果。"}
            ]
        )
        judgment_prediction = response.choices[0].message.content.strip()
        return judgment_prediction
    except Exception as e:
        print(f"Error predicting judgment: {e}")
        return None

# 对每个案件进行判决预测
judgment_predictions = []
for case_id, case_text in enumerate(legal_cases):
    judgment_prediction = predict_judgment(case_text)
    judgment_predictions.append({
        'case_id': case_id,
        'judgment_prediction': judgment_prediction
    })

# 将判决预测结果保存到JSON文件
with open('judgment_predictions.json', 'w', encoding='utf-8') as file:
    json.dump(judgment_predictions, file, ensure_ascii=False, indent=4)

print("判决预测结果已保存到 'judgment_predictions.json' 文件中。")
